<?php
/**
* 名称：广告控制器。
* 描述：广告模块相关的控制响应程式。
*/
final class Controller_Ad_Self extends Controller_Public_Account{
    /**
    * 描述：修改之视图程式。
    * @access protected
    * @return void
    */
    protected function Edit(){
        $data=array(
            'meta'=>array_merge(
                Model_Common_OUI::Breadcrumb(
                    array('text'=>'其它设置','link'=>Route::MakeHyperlink(':gather')),
                    '广告'
                ),
                array(
                    'action'=>Route::MakeHyperlink(':ad_self::update')
                )
            ),
            'base'=>self::$Database->GetAll(
                'SELECT * FROM '.self::$Database->Table('ad').' WHERE id in(1,2,3,4,5,6,7,8,9,10,11,12)'
            )
        );
        //~
        self::$Template->Assign('data',$data);
        self::$Template->Display('oui/ad/form.html');
    }

    /**
    * 描述：修改之响应程式。
    * @access protected
    * @return void
    */
    protected function Update(){
        $data=array(
            'id'=>post('id'),
            'title'=>post('title'),
            'picture'=>post('picture'),
            'link'=>post('link'),
            'remark'=>post('remark')
        );
        //~
        $result=0;
        self::$Database->BeginTransaction();
        for($i=0;$i<count($data['id']);$i++){
            $rowData=array(
                'id'=>$data['id'][$i],
                'title'=>$data['title'][$i],
                'picture'=>$data['picture'][$i],
                'link'=>'http://'.str_replace('http://','',$data['link'][$i])
            );
            $rowCondition=array(
                'sql'=>'id=?',
                'parameters'=>array($data['id'][$i])
            );
            if(self::$Database->Update(self::$Database->Table('ad'),$rowData,$rowCondition)){
                $result+=1;
            }
        }
        //~
        if($result===count($data['id'])){
            self::$Database->Commit();
            $result=TRUE;
        }
        else{
            self::$Database->RollBack();
            $result=FALSE;
        }
        //~
        $this->Feedback(
            $result,
            array(
                'notice'=>'信息修改成功，3秒钟后自动返回。',
                'link'=>array(
                    array('name'=>'继续修改','href'=>Route::MakeHyperlink(':ad_self::edit')),
                    array('name'=>'返回菜单','href'=>Route::MakeHyperlink(':gather'))
                ),
                'autoTurn'=>array(TRUE,3)
            ),
            '修改失败，请稍候再试！'
        );
    }
}